<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<html><head><title>ACS_DXAudio - NewAC</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.4 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="ACS_DXAudio"></a>ACS_DXAudio</h1><div class=CBody><p>Components which deal with audio hardware I/O using the DirectX API.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#ACS_DXAudio" >ACS_DXAudio</a></td><td class=SDescription>Components which deal with audio hardware I/O using the DirectX API.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#DirectX_Buffers" >DirectX Buffers</a></td><td class=SDescription>These constants determine the buffer size of DX and thus the delay heard when beginning audio playback.</td></tr><tr class="SClass"><td class=SEntry><a href="#TDXAudioOut" >TDXAudioOut</a></td><td class=SDescription>Performs audio playback using the DirectX API. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TDXAudioOut.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceCount" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical output DirectSound devices.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.DeviceName" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">DeviceName</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.Underruns" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">Underruns</a></td><td class=SDescription>This read only property returns the number of internal buffer underruns that have occurred during playback.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.Volume" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">Volume</a></td><td class=SDescription>Use this property to set or get the volume of the sound being played. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceNumber" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">DeviceNumber</a></td><td class=SDescription>Use this property to select the playback device by number. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.OnUnderrun" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">OnUnderrun</a></td><td class=SDescription>OnUnderrun event is raised when the component has run out of data. </td></tr><tr class="SClass"><td class=SEntry><a href="#TDXAudioIn" >TDXAudioIn</a></td><td class=SDescription>Performs audio recording from a sound card using the DirectX API. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TDXAudioIn.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.DeviceCount" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical DirectSound input devices.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.DeviceName[Number:Integer]" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">DeviceName[Number : Integer]</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.Overruns" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">Overruns</a></td><td class=SDescription>This read only property returns the number of internal buffer overruns that have occurred during recording.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.SamplesToRead" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">SamplesToRead</a></td><td class=SDescription>Use this property to set the number of samples (frames) the component should record. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.DeviceNumber" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">DeviceNumber</a></td><td class=SDescription>Use this property to select the recording device by number. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.InBitsPerSample" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">InBitsPerSample</a></td><td class=SDescription>Use this property to set the number of bits per sample in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.InChannels" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">InChannels</a></td><td class=SDescription>Use this property to set the number of channels in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.InSampleRate" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">InSampleRate</a></td><td class=SDescription>Use this property to set the sample rate of the audio stream the component will provide. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.RecTime" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">RecTime</a></td><td class=SDescription>Use this property to set the recording duration (in seconds). </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.OnOverrun" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">OnOverrun</a></td><td class=SDescription>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Constants"></a>Constants</h3></div></div>

<div class="CConstant"><div class=CTopic><h3 class=CTitle><a name="DirectX_Buffers"></a>DirectX Buffers</h3><div class=CBody><p>These constants determine the buffer size of DX and thus the delay heard when beginning audio playback.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry><a name="DS_BUFFER_SIZE"></a>DS_BUFFER_SIZE</td><td class=CDLDescription>$10000; Size in frames, not bytes</td></tr><tr><td class=CDLEntry><a name="DS_POLLING_INTERVAL"></a>DS_POLLING_INTERVAL</td><td class=CDLDescription>200; in milliseconds</td></tr></table></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TDXAudioOut"></a>TDXAudioOut</h2><div class=CBody><p>Performs audio playback using the DirectX API.&nbsp; Descends from <a href="ACS_Classes-pas.html#TAuOutput" class=LClass id=link23 onMouseOver="ShowTip(event, 'tt17', 'link23')" onMouseOut="HideTip('tt17')">TAuOutput</a>.&nbsp; TDXAudioOut component buffers its output in order to make it more smooth.&nbsp; This buffering introduces some delay at the beginning of the audio playback with TDXAudioOut.&nbsp; You can decrease the delay by decreasing the size of the TDXAudioOut buffer.&nbsp; The size of this buffer is set up by the DS_BUFFER_SIZE constant in the ACS_DxAudio.pas file.&nbsp; If you decrease the buffer size you may also want to decrease the DS_POLLING_INTERVAL value which determines how often the component requests data from its input.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TDXAudioOut.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceCount" id=link17 onMouseOver="ShowTip(event, 'tt1', 'link17')" onMouseOut="HideTip('tt1')">DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical output DirectSound devices.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.DeviceName" id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">DeviceName</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.Underruns" id=link19 onMouseOver="ShowTip(event, 'tt3', 'link19')" onMouseOut="HideTip('tt3')">Underruns</a></td><td class=SDescription>This read only property returns the number of internal buffer underruns that have occurred during playback.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.Volume" id=link20 onMouseOver="ShowTip(event, 'tt4', 'link20')" onMouseOut="HideTip('tt4')">Volume</a></td><td class=SDescription>Use this property to set or get the volume of the sound being played. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceNumber" id=link21 onMouseOver="ShowTip(event, 'tt5', 'link21')" onMouseOut="HideTip('tt5')">DeviceNumber</a></td><td class=SDescription>Use this property to select the playback device by number. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.OnUnderrun" id=link22 onMouseOver="ShowTip(event, 'tt6', 'link22')" onMouseOut="HideTip('tt6')">OnUnderrun</a></td><td class=SDescription>OnUnderrun event is raised when the component has run out of data. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.DeviceCount"></a>DeviceCount</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceCount : Integer read FDeviceCount</td></tr></table></blockquote><p>This read only property returns the number of logical output DirectSound devices.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.DeviceName"></a>DeviceName</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceName[Number : Integer] : String read GetDeviceName</td></tr></table></blockquote><p>This read only array property returns the name of the device specified by its number.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioOut.DeviceCount" class=LProperty id=link24 onMouseOver="ShowTip(event, 'tt1', 'link24')" onMouseOut="HideTip('tt1')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Underruns"></a>Underruns</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Underruns : LongWord read FUnderruns</td></tr></table></blockquote><p>This read only property returns the number of internal buffer underruns that have occurred during playback.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Volume"></a>Volume</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Volume : Integer read GetVolume write SetVolume</td></tr></table></blockquote><p>Use this property to set or get the volume of the sound being played.&nbsp; The default value is 0 which corresponds to the original volume of the sound.&nbsp; Valid values range from -10000 (silence) to 0.&nbsp; The Volume property allows you to make the played sound softer than the original one, but not louder.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.DeviceNumber"></a>DeviceNumber</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceNumber : Integer read FDeviceNumber write SetDeviceNumber</td></tr></table></blockquote><p>Use this property to select the playback device by number.&nbsp; The default value is 0 which corresponds to the default audio output device in your system.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioOut.DeviceCount" class=LProperty id=link25 onMouseOver="ShowTip(event, 'tt1', 'link25')" onMouseOut="HideTip('tt1')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.OnUnderrun"></a>OnUnderrun</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnUnderrun : TUnderrunEvent read FOnUnderrun write FOnUnderrun</td></tr></table></blockquote><p>OnUnderrun event is raised when the component has run out of data.&nbsp; This can happen if the component receives data at slow rate from a slow CD-ROM unit or a network link.&nbsp; You will also get OnUnderrun event when unpausing paused playback (this is a normal situation).&nbsp; Usually TDXAudioOut successfully recovers from underruns by itself, but this causes pauses in playback so if you start to receive OnUnderrun events, you may try to increase the speed rate of data passing to the component, if you can.&nbsp; Yo can check the <a href="#TDXAudioOut.Underruns" class=LProperty id=link26 onMouseOver="ShowTip(event, 'tt3', 'link26')" onMouseOut="HideTip('tt3')">Underruns</a> property for the total number of underruns.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TDXAudioIn"></a>TDXAudioIn</h2><div class=CBody><p>Performs audio recording from a sound card using the DirectX API.&nbsp; Descends from <a href="ACS_Classes-pas.html#TAuInput" class=LClass id=link37 onMouseOver="ShowTip(event, 'tt18', 'link37')" onMouseOut="HideTip('tt18')">TAuInput</a>.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TDXAudioIn.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.DeviceCount" id=link27 onMouseOver="ShowTip(event, 'tt7', 'link27')" onMouseOut="HideTip('tt7')">DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical DirectSound input devices.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.DeviceName[Number:Integer]" id=link28 onMouseOver="ShowTip(event, 'tt8', 'link28')" onMouseOut="HideTip('tt8')">DeviceName[Number : Integer]</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.Overruns" id=link29 onMouseOver="ShowTip(event, 'tt9', 'link29')" onMouseOut="HideTip('tt9')">Overruns</a></td><td class=SDescription>This read only property returns the number of internal buffer overruns that have occurred during recording.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.SamplesToRead" id=link30 onMouseOver="ShowTip(event, 'tt10', 'link30')" onMouseOut="HideTip('tt10')">SamplesToRead</a></td><td class=SDescription>Use this property to set the number of samples (frames) the component should record. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.DeviceNumber" id=link31 onMouseOver="ShowTip(event, 'tt11', 'link31')" onMouseOut="HideTip('tt11')">DeviceNumber</a></td><td class=SDescription>Use this property to select the recording device by number. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.InBitsPerSample" id=link32 onMouseOver="ShowTip(event, 'tt12', 'link32')" onMouseOut="HideTip('tt12')">InBitsPerSample</a></td><td class=SDescription>Use this property to set the number of bits per sample in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.InChannels" id=link33 onMouseOver="ShowTip(event, 'tt13', 'link33')" onMouseOut="HideTip('tt13')">InChannels</a></td><td class=SDescription>Use this property to set the number of channels in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.InSampleRate" id=link34 onMouseOver="ShowTip(event, 'tt14', 'link34')" onMouseOut="HideTip('tt14')">InSampleRate</a></td><td class=SDescription>Use this property to set the sample rate of the audio stream the component will provide. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.RecTime" id=link35 onMouseOver="ShowTip(event, 'tt15', 'link35')" onMouseOut="HideTip('tt15')">RecTime</a></td><td class=SDescription>Use this property to set the recording duration (in seconds). </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.OnOverrun" id=link36 onMouseOver="ShowTip(event, 'tt16', 'link36')" onMouseOut="HideTip('tt16')">OnOverrun</a></td><td class=SDescription>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.DeviceCount"></a>DeviceCount</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceCount : Integer read FDeviceCount</td></tr></table></blockquote><p>This read only property returns the number of logical DirectSound input devices.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.DeviceName[Number:Integer]"></a>DeviceName[Number : Integer]</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceName[Number : Integer] : String read GetDeviceName</td></tr></table></blockquote><p>This read only array property returns the name of the device specified by its number.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioIn.DeviceCount" class=LProperty id=link38 onMouseOver="ShowTip(event, 'tt7', 'link38')" onMouseOut="HideTip('tt7')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.Overruns"></a>Overruns</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Overruns : LongWord read FOverruns</td></tr></table></blockquote><p>This read only property returns the number of internal buffer overruns that have occurred during recording.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.SamplesToRead"></a>SamplesToRead</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property SamplesToRead : Int64 read FSamplesToRead write FSamplesToRead</td></tr></table></blockquote><p>Use this property to set the number of samples (frames) the component should record.&nbsp; If you set this property value to -1 the component will be endlessly recording until you stop it.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.DeviceNumber"></a>DeviceNumber</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceNumber : Integer read FDeviceNumber write SetDeviceNumber</td></tr></table></blockquote><p>Use this property to select the recording device by number.&nbsp; The property default value is 0 which corresponds to the default audio input device in your system.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioIn.DeviceCount" class=LProperty id=link39 onMouseOver="ShowTip(event, 'tt7', 'link39')" onMouseOut="HideTip('tt7')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.InBitsPerSample"></a>InBitsPerSample</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property InBitsPerSample : LongWord read GetBPS write FBPS stored True</td></tr></table></blockquote><p>Use this property to set the number of bits per sample in the audio stream the component will provide.&nbsp; Possible values are 8, 16, and 24 (the last one depends on the capabilities of your hardware).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.InChannels"></a>InChannels</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property InChannels : LongWord read GetCh write FChan stored True</td></tr></table></blockquote><p>Use this property to set the number of channels in the audio stream the component will provide.&nbsp; Possible values are 1 (mono), and 2 (stereo).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.InSampleRate"></a>InSampleRate</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property InSampleRate : LongWord read GetSR write FFreq stored True</td></tr></table></blockquote><p>Use this property to set the sample rate of the audio stream the component will provide.&nbsp; Possible values range from 4000 to 128000 (depends on the capabilities of your hardware).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.RecTime"></a>RecTime</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property RecTime : Integer read FRecTime write SetRecTime</td></tr></table></blockquote><p>Use this property to set the recording duration (in seconds).&nbsp; If set this property overrides the value of &lt;BytesToRead&gt;.&nbsp; If you set this property value to -1 (the default) the component will be endlessly recording until you stop it.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.OnOverrun"></a>OnOverrun</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnOverrun : TOverrunEvent read FOnOverrun write FOnOverrun</td></tr></table></blockquote><p>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume.&nbsp; It indicates that some data is lost.&nbsp; You may also get OnOverrun event when unpausing paused recording (this is a normal situation).&nbsp; To get the total number of overruns read the <a href="#TDXAudioIn.Overruns" class=LProperty id=link40 onMouseOver="ShowTip(event, 'tt9', 'link40')" onMouseOut="HideTip('tt9')">Overruns</a> property.</p></div></div></div>

</div><!--Content-->


<div id=Footer>Content &copy; 2008 Andrei Borovsky. Design &copy; 2008 Wayne Thursby. <b><u><a href="http://symmetrica.net/newac">Go to the project's main page</a></u></b>&nbsp; &middot;&nbsp; <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->


<div id=Menu><div class=MTitle>NewAC<div class=MSubTitle>v1.7.1</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Documentation</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../doc/txt/introduction-txt.html">Quick Introduction to NewAC</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/about_documentation-txt.html">About the Documentation</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/cwguide-txt.html">Component Writer&rsquo;s Guide</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/tips_and_tricks-txt.html">Tips &amp; Tricks</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/newac-txt.html">About New Audio Components</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/features-txt.html">NewAC Main Features List</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Main Units</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="ACS_AudioMix-pas.html">ACS_AudioMix</a></div></div><div class=MEntry><div class=MFile><a href="ACS_CDROM-pas.html">ACS_CDROM</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Classes-pas.html">ACS_Classes</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Converters-pas.html">ACS_Converters</a></div></div><div class=MEntry><div class=MFile id=MSelected>ACS_DXAudio</div></div><div class=MEntry><div class=MFile><a href="ACS_FLAC-pas.html">ACS_FLAC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Filters-pas.html">ACS_Filters</a></div></div><div class=MEntry><div class=MFile><a href="ACS_LAME-pas.html">ACS_LAME</a></div></div><div class=MEntry><div class=MFile><a href="ACS_MAC-pas.html">ACS_MAC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_MPC-pas.html">ACS_MPC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_OptimFROG-pas.html">ACS_OptimFROG</a></div></div><div class=MEntry><div class=MFile><a href="ACS_smpeg-pas.html">ACS_SMPEG</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Streams-pas.html">ACS_Streams</a></div></div><div class=MEntry><div class=MFile><a href="ACS_TTA-pas.html">ACS_TTA</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Tags-pas.html">ACS_Tags</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Vorbis-pas.html">ACS_Vorbis</a></div></div><div class=MEntry><div class=MFile><a href="ACS_WavPack-pas.html">ACS_WavPack</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Wave-pas.html">ACS_Wave</a></div></div><div class=MEntry><div class=MFile><a href="ACS_WinMedia-pas.html">ACS_WinMedia</a></div></div><div class=MEntry><div class=MFile><a href="AudioDMO-pas.html">AudioDMO</a></div></div><div class=MEntry><div class=MFile><a href="AudioPass-pas.html">AudioPass</a></div></div><div class=MEntry><div class=MFile><a href="AuSampleRate-pas.html">AuSampleRate</a></div></div><div class=MEntry><div class=MFile><a href="NewAC_AVI-pas.html">NewAC_AVI</a></div></div><div class=MEntry><div class=MFile><a href="libsamplerate-pas.html">libsamplerate.pas</a></div></div><div class=MEntry><div class=MFile><a href="MACDll-pas.html">MACDll.pas</a></div></div><div class=MEntry><div class=MFile><a href="ogg-pas.html">ogg.pas</a></div></div><div class=MEntry><div class=MFile><a href="ovencode-pas.html">ovencode</a></div></div><div class=MEntry><div class=MFile><a href="VorbisEnc-pas.html">VorbisEnc.pas</a></div></div><div class=MEntry><div class=MFile><a href="VorbisFile-pas.html">VorbisFile.pas</a></div></div><div class=MEntry><div class=MFile><a href="WaveConverter-pas.html">WaveConverter.pas</a></div></div><div class=MEntry><div class=MFile><a href="WavPackDLL-pas.html">WavPackDLL</a></div></div><div class=MEntry><div class=MFile><a href="wmfintf-pas.html">wmfintf.pas</a></div></div><div class=MEntry><div class=MFile><a href="NewAC_DSP-pas.html">NewAC_DSP</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Converted C/C++ Headers</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="CDRip-pas.html">CDRip</a></div></div><div class=MEntry><div class=MFile><a href="Codec-pas.html">Codec</a></div></div><div class=MEntry><div class=MFile><a href="DSWrapper-pas.html">DSWrapper</a></div></div><div class=MEntry><div class=MFile><a href="FLAC-pas.html">FLAC</a></div></div><div class=MEntry><div class=MFile><a href="libwma1-pas.html">libwma1.pas</a></div></div><div class=MEntry><div class=MFile><a href="_DirectSound-pas.html">_DirectSound</a></div></div><div class=MEntry><div class=MFile><a href="_DXTypes-pas.html">_DXTypes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Utility Units</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="ACS_Misc-pas.html">ACS_Misc</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Procs-pas.html">ACS_Procs</a></div></div><div class=MEntry><div class=MFile><a href="acs_reg-pas.html">ACS_Reg</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Types-pas.html">ACS_Types</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Tutorials</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MFile><a href="../demos/Tutorial/AudioProcessor/Main-pas.html">Audio Processor</a></div></div><div class=MEntry><div class=MFile><a href="../demos/Tutorial/ComponentsDemo/ComponentsDemo-pas.html">Components Demo</a></div></div><div class=MEntry><div class=MFile><a href="../demos/Recorders-rippers/Rip'n'listen/Main-pas.html">Rip&rsquo;n&rsquo;Listen Demo</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent6')">DUnit</a><div class=MGroupContent id=MGroupContent6><div class=MEntry><div class=MFile><a href="../dunit/Test_ACS_FLAC-pas.html">ACS_FLAC TestCases</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/Test_ACS_MAC-pas.html">ACS_MAC TestCases</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/Test_ACS_WavPack-pas.html">ACS_WavPack TestCases</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/uLog-pas.html">uLog</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/uTestBase-pas.html">uTestBase</a></div></div><div class=MEntry><div class=MFile><a href="../dunit/uUtility-pas.html">uUtility</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent7')">Index</a><div class=MGroupContent id=MGroupContent7><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Properties.html">Properties</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Properties">Properties</option><option value="Types">Types</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([2], 8);// --></script></div><!--Menu-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceCount : Integer read FDeviceCount</td></tr></table></blockquote>This read only property returns the number of logical output DirectSound devices.</div></div><div class=CToolTip id="tt2"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceName[Number : Integer] : String read GetDeviceName</td></tr></table></blockquote>This read only array property returns the name of the device specified by its number. </div></div><div class=CToolTip id="tt3"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Underruns : LongWord read FUnderruns</td></tr></table></blockquote>This read only property returns the number of internal buffer underruns that have occurred during playback.</div></div><div class=CToolTip id="tt4"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Volume : Integer read GetVolume write SetVolume</td></tr></table></blockquote>Use this property to set or get the volume of the sound being played. </div></div><div class=CToolTip id="tt5"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceNumber : Integer read FDeviceNumber write SetDeviceNumber</td></tr></table></blockquote>Use this property to select the playback device by number. </div></div><div class=CToolTip id="tt6"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnUnderrun : TUnderrunEvent read FOnUnderrun write FOnUnderrun</td></tr></table></blockquote>OnUnderrun event is raised when the component has run out of data. </div></div><div class=CToolTip id="tt7"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceCount : Integer read FDeviceCount</td></tr></table></blockquote>This read only property returns the number of logical DirectSound input devices.</div></div><div class=CToolTip id="tt8"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceName[Number : Integer] : String read GetDeviceName</td></tr></table></blockquote>This read only array property returns the name of the device specified by its number. </div></div><div class=CToolTip id="tt9"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property Overruns : LongWord read FOverruns</td></tr></table></blockquote>This read only property returns the number of internal buffer overruns that have occurred during recording.</div></div><div class=CToolTip id="tt10"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property SamplesToRead : Int64 read FSamplesToRead write FSamplesToRead</td></tr></table></blockquote>Use this property to set the number of samples (frames) the component should record. </div></div><div class=CToolTip id="tt11"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property DeviceNumber : Integer read FDeviceNumber write SetDeviceNumber</td></tr></table></blockquote>Use this property to select the recording device by number. </div></div><div class=CToolTip id="tt12"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property InBitsPerSample : LongWord read GetBPS write FBPS stored True</td></tr></table></blockquote>Use this property to set the number of bits per sample in the audio stream the component will provide. </div></div><div class=CToolTip id="tt13"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property InChannels : LongWord read GetCh write FChan stored True</td></tr></table></blockquote>Use this property to set the number of channels in the audio stream the component will provide. </div></div><div class=CToolTip id="tt14"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property InSampleRate : LongWord read GetSR write FFreq stored True</td></tr></table></blockquote>Use this property to set the sample rate of the audio stream the component will provide. </div></div><div class=CToolTip id="tt15"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property RecTime : Integer read FRecTime write SetRecTime</td></tr></table></blockquote>Use this property to set the recording duration (in seconds). </div></div><div class=CToolTip id="tt16"><div class=CProperty><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>property OnOverrun : TOverrunEvent read FOnOverrun write FOnOverrun</td></tr></table></blockquote>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume. </div></div><div class=CToolTip id="tt17"><div class=CClass>The ancestor class for all output components.</div></div><div class=CToolTip id="tt18"><div class=CClass>The ancestor class for all input components.</div></div><!--END_ND_TOOLTIPS-->




<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>


<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>